1. Field of the Invention
The present invention relates in general to the field of computers and similar technologies, and in particular to software utilized in this field. Still more particularly, the present invention relates to selectively enabling and disabling read caching in storage subsystems.
2. Description of the Related Art
Effective cache management is important to the performance of modern disk storage subsystems, because Input/Output (I/O) latency can increase by orders magnitude if requested data must be read from a physical disk. For this reason algorithms have been developed to on one hand demote stale data from cache (e.g. the Least Recently Used (LRU) replacement algorithm, the adaptive replacement cache (ARC) replacement algorithm) as quickly as possible, and on the other to predict and prestage data (e.g. sequential detection) that could possibly be requested soon.
Known cache management schemes reduce I/O latency and increase throughput for disk workloads that largely request data before the data can be demoted from the cache, i.e. request the same data records repeatedly. However these schemes do not necessarily improve performance for workloads that have a highly random access pattern. For these cache miss type workloads, time and machine cycles are spent searching the cache for the data before finally retrieving the data from a physical disk. The data is then placed in the cache, effectively wasting cache space since there is a very low probability of requesting the data again before the data ages out of the cache. Thus, memory resources and processor time may be wasted in processing random access reads.
One known cache management scheme that attempts to address this issue is a host based method such as the System Managed Storage (SMS) tool available on an S/390 Storage System from International Business Machines Corporation. The SMS tool uses Dynamic Cache Management Enhanced (DCME) that could disable caching on a dataset basis. This tool is often not used by newer hardware which can ignore software hints to turn off caching.
Accordingly, it would be desirable to provide a caching algorithm which does not rely on host software to manage caching and can be effectively used for disk storage systems that support multiple concurrent operating systems.